package com.hucais.etl.job

case class OdsBookInformation(
                               isbn: String,
                               book_name: String,
                               author: String,
                               pricing: String,
                               category: String,
                               publishing_house: String,
                               publishing_time: String,
                               impression: String,
                               edition: String,
                               sales_volume: String,
                               binding_layout: String,
                               format: String,
                               number_of_pages: String,
                               paper: String,
                               number_of_suit: String,
                               data_source: String
                             )

case class OdsBookStore(
                         isbn: String,
                         name_of_shop: String,
                         slogan: String,
                         book_review: String,
                         selling_price: String,
                         store_pricing: String,
                         conditions: String,
                         number: String,
                         data_source: String
                       )

case class OdsBookComment(
                           store_name: String,
                           book_name: String,
                           score: String,
                           data_source: String
                         )

case class OdsOpenBook(
                        isbn: String,
                        book_name: String,
                        selling_price: String,
                        discount_rate: String,
                        author: String,
                        category: String,
                        publishing_house: String,
                        month_sales: String,
                        year_sales: String,
                        total_sales: String,
                        book_list: String,
                        channel_type: String,
                        sale_type: String,
                        sale_time: String
                      )

case class TmpBookInformation(
                               isbn: String,
                               book_name: String,
                               author: String,
                               pricing: Float,
                               category: String,
                               publishing_house: String,
                               publishing_time: String,
                               impression: String,
                               edition: String,
                               description: String,
                               sales: String,
                               binding_layout: String,
                               format: String,
                               pages: String,
                               paper: String,
                               suits: String
                             )

case class TmpBookStore(
                         isbn: String,
                         store_name: String,
                         slogan: String,
                         store_comments: Long,
                         selling_price: Float,
                         store_pricing: Float,
                         conditions: String,
                         book_num: Long
                       )

/**
 *
 * @param isbn              ISBN号
 * @param book_name         平台的书名
 * @param author            作者
 * @param category          分类
 * @param publishing_house  出版社
 * @param publishing_time   出版时间
 * @param discount          折扣
 * @param brand             品牌
 * @param hot_store_pricing 销量最高的定价
 * @param hot_selling_price 销量最高的售价
 * @param year_sales        年销售量
 * @param min_selling_price 最低售价
 * @param avg_selling_price 平均售价
 * @param store_cnt         在售店铺数
 */
case class OdsDdData(
                      isbn: String,
                      book_name: String,
                      author: String,
                      category: String,
                      publishing_house: String,
                      publishing_time: String,
                      discount: String,
                      brand: String,
                      hot_store_pricing: String,
                      hot_selling_price: String,
                      year_sales: String,
                      min_selling_price: String,
                      avg_selling_price: String,
                      store_cnt: String
                    )

/**
 * 豆瓣评分
 *
 * @param isbn
 * @param query_book 查询的书名称
 * @param author     作者名称
 * @param score      评分
 * @param grader_cnt 评分人数
 */
case class OdsDoubanScore(
                           isbn: String,
                           query_book: String,
                           author: String,
                           score: Float,
                           grader_cnt: Long
                         )

case class OdsRanking(
                       channel: String,
                       year: String,
                       month: String,
                       ranking_name: String,
                       detail: String
                     )

case class DwdRanking(
                       channel: String,
                       year: String,
                       month: String,
                       ranking_name: String,
                       ranking: Long,
                       book_name: String,
                       isbn: String,
                       author: String,
                       publishing_house: String,
                       brand: String,
                       publishing_time: String,
                       selling_price: String,
                       store_pricing: String,
                       score: String,
                       grader_cnt: String,
                       create_time: String
                     )
